class: center, middle, inverse, title-slide #
Introducción a R y RStudio ### Joselyn Chávez
@josschavezf1
### RLadies Comitán ### 18 de marzo de 2022 --- class: chapter-slide # El entorno de RStudio <br><br><br><br><br> <img src="data:image/png;base64,#https://raw.githubusercontent.com/rstudio/hex-stickers/master/PNG/RStudio.png" width="30%" style="display: block; margin: auto 0 auto auto;" /> --- # Instalación <img src="data:image/png;base64,#img/download.png" width="70%" style="display: block; margin: auto;" /> .center[<https://www.rstudio.com/products/rstudio/download/>] --- # Abriendo RStudio <img src="data:image/png;base64,#img/RStudio.png" width="70%" style="display: block; margin: auto;" /> --- # El panel Console Es el lugar donde ejecutamos código directamente. <img src="data:image/png;base64,#img/console.png" width="60%" style="display: block; margin: auto;" /> --- # El panel de Scripts Es nuestro 'bloc de notas' donde podemos guardar código, hacer comentarios y ejecutar el código hacia la consola. <img src="data:image/png;base64,#img/script.png" width="70%" style="display: block; margin: auto;" /> --- # La pestaña Environment Muestra las variables y las funciones que hemos creado y ejecutado durante nuestra sesión. <img src="data:image/png;base64,#img/environment.png" width="70%" style="display: block; margin: auto;" /> --- # La pestaña History Muestra el historial del código que hemos ejecutado. <img src="data:image/png;base64,#img/history.png" width="70%" style="display: block; margin: auto;" /> --- # La pestaña Files Muestra los archivos en nuestra computadora, localizados en nuestro directorio de trabajo. <img src="data:image/png;base64,#img/files.png" width="65%" style="display: block; margin: auto;" /> --- # La pestaña Plots Nos muestra las gráficas, resultado de la ejecución de funciones para generar gráficas desde R base o con ayuda de ggplot2. <img src="data:image/png;base64,#img/plots.png" width="50%" style="display: block; margin: auto;" /> --- # La pestaña Packages Nos muestra los paquetes que tenemos instalados en nuestra computadora. <img src="data:image/png;base64,#img/packages.png" width="68%" style="display: block; margin: auto;" /> --- # La pestaña Help Nos muestra la documentación de una función; incluye su descripción, funcionamiento, argumentos/parámetros, el tipo de resultados y ejemplos. <img src="data:image/png;base64,#img/help.png" width="50%" style="display: block; margin: auto;" /> --- # La pestaña Viewer Nos muestra una vista previa de los archivos tipo .Rmd, que generalmente visualizamos como html. <img src="data:image/png;base64,#img/viewer.png" width="55%" style="display: block; margin: auto;" /> --- # Creando otros archivos del entorno de R .pull-left[<br><br><br> Podemos crear diversos archivos dentro de R, como .R, .Rmd, .css, .txt, .html, etc. Estos archivos los podremos editar en el mismo espacio del panel de scripts. ] .pull-right[ <img src="data:image/png;base64,#img/new_file.png" width="75%" style="display: block; margin: auto;" /> ] --- class: chapter-slide # Algunas configuraciones de RStudio --- # El archivo .RData .pull-left[<br><br><br> Este archivo guarda todas las variables de nuestro Environment y los paquetes cargados durante la sesión. En general no es recomendable guardarlo, es preferible comenzar desde un entorno limpio. ] .pull-right[ <img src="data:image/png;base64,#img/RData.png" width="93%" style="display: block; margin: auto;" /> ] --- # Paréntesis de arcoÃris .pull-left[<br><br><br> Nos facilita diferenciar en dónde se abren y cierran los paréntesis. Es especialmente útil cuando trabajamos con código anidado. ] .pull-right[ <img src="data:image/png;base64,#img/rainbow.png" width="93%" style="display: block; margin: auto;" /> ] --- # Apariencia del entorno de RStudio .pull-left[<br><br><br> Podemos elegir la mejor combinación de colores para mejorar el contraste. El mejor contraste puede depender de la situación en la que mostremos nuestro código. ] .pull-right[ <img src="data:image/png;base64,#img/appearance.png" width="92%" style="display: block; margin: auto;" /> ] --- class: chapter-slide # Algunos atajos del teclado --- # Atajos para trabajar con scripts <br> .pull-left[ - Abrir un nuevo script - Shift + Command + N - Shift + Ctrl + N - Guardar los cambios del script - Command + S - Ctrl + S ] -- .pull-right[ - Ejecutar el código del script - Command + Enter - Ctrl + Enter - Escribir el sÃmbolo de asignación - option + - ] --- # Todos los atajos disponibles .pull-left[<br><br><br> La combinación de teclas depende del sistema operativo de nuestra computadora. RStudio detecta el sistema que estamos usando y nos muestra la combinación para nuestro caso. ] .pull-right[ <img src="data:image/png;base64,#img/shorcuts.png" width="65%" style="display: block; margin: auto;" /> ] --- class: chapter-slide # Mantenimiento de nuestro entorno --- # Actualizaciones de R y RStudio .pull-left[ - R desde CRAN <img src="data:image/png;base64,#img/cran.png" width="100%" style="display: block; margin: auto;" /> .center[<https://cran.r-project.org>] ] .pull-right[ - RStudio desde la aplicación <img src="data:image/png;base64,#img/updates.png" width="70%" style="display: block; margin: auto;" /> ] --- class: chapter-slide # Primeros pasos en R: Vectores --- # Definiendo un vector ## SÃmbolo de asignación Para definir variables ```r mi_vector <- 10 mi_vector <- "a" ``` -- ## Función Combine ```r mi_vector <- c(1,10,25,30) mi_vector <- c("a","b","c") ``` --- # Propiedades de los vectores - Tienen una sola dimensión (Sólo tienen longitud) ```r mi_vector <- c(1,2,3,4) length(mi_vector) ``` ``` ## [1] 4 ``` -- - Todos los elementos deben ser del mismo tipo - Numeric - Integer - Double - Character - Factor - Logical --- ```r x_num <- c(1, 2, 3) class(x_num) ``` ``` ## [1] "numeric" ``` ```r x_int <- c(1L, 2L, 3L) class(x_int) ``` ``` ## [1] "integer" ``` ```r x_dbl <- c(1, 2.5, 3.1) typeof(x_dbl) ``` ``` ## [1] "double" ``` --- ```r x_chr <- c("a", "b", "c") class(x_chr) ``` ``` ## [1] "character" ``` ```r x_fct <- factor("a","b","c") class(x_fct) ``` ``` ## [1] "factor" ``` ```r x_log <- c(TRUE, FALSE, TRUE) class(x_log) ``` ``` ## [1] "logical" ``` --- - Si existen diferentes tipos de datos, R encuentra la forma de unificarlos ```r x <- c(1, "a", TRUE) x ``` ``` ## [1] "1" "a" "TRUE" ``` ```r class(x) ``` ``` ## [1] "character" ``` --- # Extrayendo elementos de los vectores ## Usando la posición ```r x <- c(1,2,3,4,5) x ``` ``` ## [1] 1 2 3 4 5 ``` ```r # Extraer el número 3 x[3] ``` ``` ## [1] 3 ``` --- ```r x <- c(1,2,3,4,5) # Extraer del número 3 al 5 x[3:5] ``` ``` ## [1] 3 4 5 ``` -- ```r x <- c("a","b","c","d","e") x[3] ``` ``` ## [1] "c" ``` ```r x[3:5] ``` ``` ## [1] "c" "d" "e" ``` --- ## Usando el nombre (names) ```r x <- c(1,3,10) names(x) ``` ``` ## NULL ``` -- ```r # fresas = 1, manzanas = 3 y mangos = 10 names(x) <- c("fresas", "manzanas", "mangos") names(x) ``` ``` ## [1] "fresas" "manzanas" "mangos" ``` ```r x["fresas"] ``` ``` ## fresas ## 1 ``` --- # Operaciones con vectores ## Operaciones numéricas ```r x <- c(1,2,3,4,5) x + 1 ``` ``` ## [1] 2 3 4 5 6 ``` -- ```r y <- c(1,2) x + y ``` ``` ## Warning in x + y: longer object length is not a multiple of shorter object ## length ``` ``` ## [1] 2 4 4 6 6 ``` --- ```r x <- c(1,2,3,4,5) x - 1 ``` ``` ## [1] 0 1 2 3 4 ``` -- ```r y <- c(1,2) x - y ``` ``` ## Warning in x - y: longer object length is not a multiple of shorter object ## length ``` ``` ## [1] 0 0 2 2 4 ``` --- ```r x * 2 ``` ``` ## [1] 2 4 6 8 10 ``` ```r x/2 ``` ``` ## [1] 0.5 1.0 1.5 2.0 2.5 ``` ```r x^3 ``` ``` ## [1] 1 8 27 64 125 ``` ```r sqrt(x) ``` ``` ## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 ``` --- ```r x <- 10 log(x) ``` ``` ## [1] 2.302585 ``` ```r log10(x) ``` ``` ## [1] 1 ``` ```r log2(x) ``` ``` ## [1] 3.321928 ``` ```r logb(x, base = 3) ``` ``` ## [1] 2.095903 ``` --- # Funciones útiles para crear vectores ```r seq(1:5) ``` ``` ## [1] 1 2 3 4 5 ``` -- ```r seq(from = 0, to = 10, by = 2) ``` ``` ## [1] 0 2 4 6 8 10 ``` -- ```r rnorm(10, mean = 0, sd = 0.5) ``` ``` ## [1] 0.57514932 -0.01925082 -0.16762493 -0.85716995 0.39791029 -0.77019198 ## [7] -0.06591340 -0.18407022 -0.59370729 0.15626106 ``` --- ```r letters ``` ``` ## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" ## [20] "t" "u" "v" "w" "x" "y" "z" ``` ```r letters[1:5] ``` ``` ## [1] "a" "b" "c" "d" "e" ``` -- ```r LETTERS ``` ``` ## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" ## [20] "T" "U" "V" "W" "X" "Y" "Z" ``` ```r LETTERS[5:10] ``` ``` ## [1] "E" "F" "G" "H" "I" "J" ``` --- # Usando condicionales ```r x <- 1:5 x[x < 4] ``` ``` ## [1] 1 2 3 ``` ```r x[x >= 3] ``` ``` ## [1] 3 4 5 ``` --- ```r x <- c("a","a","b","c","c","c") x[x == "a"] ``` ``` ## [1] "a" "a" ``` -- ```r y <- c("b", "c") x[x %in% y] ``` ``` ## [1] "b" "c" "c" "c" ``` --- .pull-left[<br><br><br><br><br><br><br> .center[ # ¡Gracias! ] ] .pull-right[<br><br><br><br> <img src="data:image/png;base64,#img/gracias.png" width="100%" style="display: block; margin: auto;" /> .pull-right[Ilustración de Allison Horst] ]